package com.kiki.singer.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.kiki.common.annotation.Excel;
import com.kiki.common.core.domain.BaseEntity;

/**
 * 歌手基础信息对象 singer
 * 
 * @author 林志毅
 * @date 2025-01-09
 */
public class Singer extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 歌手ID */
    private Long singerId;

    /** 歌手名 */
    @Excel(name = "歌手名")
    private String singerName;

    /** 头像URL */
    @Excel(name = "头像URL")
    private String avatarUrl;

    /** 性别 */
    @Excel(name = "性别")
    private Integer gender;

    /** 出生日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "出生日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date birthDate;

    /** 国家 */
    @Excel(name = "国家")
    private String country;

    /** 简介 */
    @Excel(name = "简介")
    private String description;

    /** 公司 */
    @Excel(name = "公司")
    private String company;

    public void setSingerId(Long singerId) 
    {
        this.singerId = singerId;
    }

    public Long getSingerId() 
    {
        return singerId;
    }
    public void setSingerName(String singerName) 
    {
        this.singerName = singerName;
    }

    public String getSingerName() 
    {
        return singerName;
    }
    public void setAvatarUrl(String avatarUrl) 
    {
        this.avatarUrl = avatarUrl;
    }

    public String getAvatarUrl() 
    {
        return avatarUrl;
    }
    public void setGender(Integer gender) 
    {
        this.gender = gender;
    }

    public Integer getGender() 
    {
        return gender;
    }
    public void setBirthDate(Date birthDate) 
    {
        this.birthDate = birthDate;
    }

    public Date getBirthDate() 
    {
        return birthDate;
    }
    public void setCountry(String country) 
    {
        this.country = country;
    }

    public String getCountry() 
    {
        return country;
    }
    public void setDescription(String description) 
    {
        this.description = description;
    }

    public String getDescription() 
    {
        return description;
    }
    public void setCompany(String company) 
    {
        this.company = company;
    }

    public String getCompany() 
    {
        return company;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("singerId", getSingerId())
            .append("singerName", getSingerName())
            .append("avatarUrl", getAvatarUrl())
            .append("gender", getGender())
            .append("birthDate", getBirthDate())
            .append("country", getCountry())
            .append("description", getDescription())
            .append("company", getCompany())
            .toString();
    }
}
